package com.ruoyi.labdata.service;

import java.util.List;

import com.ruoyi.labdata.domain.LabFlowNode;

/**
 * 流程节点Service接口
 * 
 * @author winner pan
 * @date 2022-03-06
 */
public interface ILabFlowNodeService 
{
    /**
     * 查询流程节点
     * 
     * @param nodeId 流程节点ID
     * @return 流程节点
     */
    public LabFlowNode selectLabFlowNodeById(Long nodeId);

    /**
     * 查询流程节点列表
     * 
     * @param labFlowNode 流程节点
     * @return 流程节点集合
     */
    public List<LabFlowNode> selectLabFlowNodeList(LabFlowNode labFlowNode);

    /**
     * 新增流程节点
     * 
     * @param labFlowNode 流程节点
     * @return 结果
     */
    public int insertLabFlowNode(LabFlowNode labFlowNode);

    /**
     * 修改流程节点
     * 
     * @param labFlowNode 流程节点
     * @return 结果
     */
    public int updateLabFlowNode(LabFlowNode labFlowNode);

    /**
     * 批量删除流程节点
     * 
     * @param nodeIds 需要删除的流程节点ID
     * @return 结果
     */
    //public int deleteLabFlowNodeByIds(Long[] nodeIds);

    /**
     * 删除流程节点信息
     * 
     * @param nodeId 流程节点ID
     * @return 结果
     */
    public int deleteLabFlowNodeById(Long nodeId);
    
    public int updateLabFlowNodeNo(List<LabFlowNode> labFlowNodeList);
    
    public List<LabFlowNode> getAllFlowNodeByWorkflowId(Long workflowId);
    
    public String getUserIdsByRole(String roleIds);
    
    public String getUserIdsByDeptRole(String roleIds, String ancestors, Long deptId);
    
}
